// 引入富文本解析插件
var WxParse = require('../../../wxParse/wxParse.js');
// 引入公用的自定义函数
var $ = require('../../../utils/js.js');
var img_src = $.img_src;
var $time = require('../../../utils/time.js');
var dao_ji_shi;

Page({
  // 页面的初始数据
  data: {
    // 图片路径的公用部分
    img_src: img_src,

    // 用户信息
    user_data: "",
    // 砍价的id
    user_kanjia_id: "",
    // 砍价数据
    data: "",
    // 参团人信息
    list_data: [],
    // 商品信息
    goods_data: "",

    // 获取到的种类列表数据
    type_list_data: [],
    // 选中的种类数据数组
    type_data_arr: [],
    // 选中的种类数据
    type_data: "",

    // 砍价状态
    kj_type: 0,

    // 倒计时的时间戳
    djs_time: "",
    // 倒计时的时间
    djs_arr: "",

    // 是否显示弹框
    tan_kuang: false,
    // 是否显示购买弹出框
    buy: false,
    // 是否显示发起成功弹框
    tk_fq: false,
    // 是否显示砍价成功弹框
    tk_kj: false,

    // 购买的数量
    buy_number: 1,
    // 购买的类型
    buy_type: 1,
  },
  // 生命周期函数--监听页面加载
  onLoad: function(options) {
    // 存储砍价的id
    this.setData({
      user_kanjia_id: options.id,
    })

    var tk_fq = options.kj_type;
    if (tk_fq == 1) {
      this.setData({
        tan_kuang: true,
        tk_fq: true,
      })
    }

    // 获取用户信息
    this.setData({
      user_data: getApp().data.user_data,
    })

    // 获取砍价数据
    this.get_data();
  },
  // 生命周期函数--监听页面显示
  onShow: function() {
    if (this.data.shua_xin) {
      // 获取该商品的数据
      this.get_data();
    } else {
      this.setData({
        shua_xin: true,
      })
    }
  },
  // 自定义函数   开始
  // 获取用户数据
  login_fun(e) {
    var user_data = $.value(e);
    this.setData({
      user_data: user_data
    })
    // 获取当前用户的砍价状态
    this.get_kj_type();
  },
  // 获取砍价数据
  get_data() {
    // 获取砍价的id
    var user_kanjia_id = this.data.user_kanjia_id;
    $.ajax_get({
      url: "/api/kanjia/detail",
      data: {
        id: user_kanjia_id
      },
      success: (res) => {
        var data = res.data.data;
        console.log("砍价数据", data);
        // 获取砍价商品的数据
        var goods_data = data.goods;
        var type_list_data = [];
        var type_data_arr = [];
        // 如果该商品有规格
        var spec = data.spec;
        if (spec) {
          goods_data.spec_item = data.spec_item;
          for (var key in spec) {
            type_list_data.push({
              title: key,
              data: spec[key],
            })
            type_data_arr.push("");
          }
        }
        this.setData({
          // 砍价信息
          data: data,
          // 商品信息
          goods_data: goods_data,
          // 规格列表数据
          type_list_data: type_list_data,
          // 选中的规格
          type_data_arr: type_data_arr
        })

        // 获取当前的时间戳
        var now_time = $time.now_time().time;
        // 获取结束时间的时间戳
        var end_time = data.end_time * 1000;
        // 计算剩余的时间戳
        var djs_time = end_time - now_time;
        // 获取倒计时
        var djs = $time.get_djs(djs_time);
        // 更新倒计时
        this.setData({
          djs_time: djs_time,
          djs_arr: djs.split(":"),
        })
        // 调用倒计时函数
        this.djs_fun();
        // 获取帮忙砍价的用户列表
        this.get_list_data();
      }
    })
  },
  // 倒计时函数
  djs_fun() {
    // 清除计时器
    clearInterval(dao_ji_shi);
    dao_ji_shi = setInterval(() => {
      // 获取倒计时的时间戳
      var djs_time = this.data.djs_time;
      if (djs_time > 0) {
        djs_time -= 1000;
        // 获取倒计时
        var djs = $time.get_djs(djs_time);
        // 更新倒计时
        this.setData({
          djs_time: djs_time,
          djs_arr: djs.split(":"),
        })
      } else {
        // 清除计时器
        clearInterval(dao_ji_shi);
      }
    }, 1000);
  },
  // 获取帮忙砍价的用户列表
  get_list_data() {
    var user_kanjia_id = this.data.user_kanjia_id;
    $.ajax_get({
      url: "/api/kanjia/list",
      data: {
        user_kanjia_id: user_kanjia_id,
      },
      success: (res) => {
        var data = res.data.data;
        console.log("帮忙砍价的用户", data);
        this.setData({
          list_data: data,
        })
        // 获取该用户的砍价状态
        this.get_kj_type();
      }
    })
  },
  // 获取该用户的砍价状态
  get_kj_type() {
    // 获取用户信息
    var user_data = this.data.user_data;
    // 该用户的砍价状态 0->没有参与砍价; 1->发起砍价的用户; 2->帮忙砍价的用户
    var kj_type = 0;
    // 如果有用户数据
    if (user_data) {
      var data = this.data.data;
      if (user_data.id == data.user_id) {
        kj_type = 1;
      } else {
        // 获取帮忙砍价的用户列表
        var list_data = this.data.list_data;
        list_data.forEach((obj) => {
          if (obj.user_id == user_data.id) {
            kj_type = 2;
          }
        })
      }
    }
    this.setData({
      kj_type: kj_type
    })
  },
  // 点击帮他砍价
  kan_jia_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      var user_data = this.data.user_data;
      var user_kanjia_id = this.data.user_kanjia_id;
      $.ajax_post({
        url: "/api/kanjia/cut",
        data: {
          user_kanjia_id: user_kanjia_id,
          user_id: user_data.id,
          avatar: user_data.avatar,
          nickname: user_data.nickname,
        },
        success: (res) => {
          var data = res.data.data;
          if (res.data.code == 1) {
            this.setData({
              tan_kuang: true,
              tk_kj: true,
            })
            // 获取砍价数据
            this.get_data();
          } else {
            $.ti_shi(res.data.msg);
          }
        }
      })
    } else {
      this.setData({
        login_title: "帮Ta砍价需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 点击原价购买
  buy_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      this.setData({
        buy_type: 2,
        tan_kuang: true,
      })
      this.setData({
        buy: true,
      })
    } else {
      this.setData({
        login_title: "购买功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 点击我也要参与
  can_yu_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      this.setData({
        buy_type: 1,
        tan_kuang: true,
        tk_kj: false,
      })
      this.setData({
        buy: true,
      })
    } else {
      this.setData({
        login_title: "参与功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 关闭弹框时调用
  tk_back_fun() {
    this.setData({
      tan_kuang: false,
      buy: false,
      tk_fq: false,
      tk_kj: false,
    })
  },
  // 点击种类时触发
  type_fun(e) {
    var index = $.data(e, "index");
    var type_index = $.data(e, "type_index");
    var type_list_data = this.data.type_list_data;
    var type_data_arr = this.data.type_data_arr;
    type_data_arr[index] = type_list_data[index].data[type_index].item_id;
    this.setData({
      type_data_arr: type_data_arr,
    })
    var goods_data = this.data.goods_data;
    var type_key = this.data.type_data_arr.join("_");
    var type_data = goods_data.spec_item[type_key];
    if (!type_data) {
      type_data = "";
    }
    this.setData({
      type_data: type_data,
    })
  },
  // 购买数量-1
  jian_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 输入购买数量
  input_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 购买数量+1
  jia_fun(e) {
    var value = e.detail.value;
    this.setData({
      buy_number: value
    })
  },
  // 点击购买弹框中的确定时触发
  tk_buy_fun() {
    if (this.data.type_list_data.length > 0) {
      var type_data = this.data.type_data;
      if (type_data) {
        // 获取该规格的购买数量
        var buy_number = this.data.buy_number;
        // 获取该规格的库存
        if (type_data.store_count) { // 有库存
          // 购买数量大于库存
          if (buy_number > type_data.store_count) {
            this.setData({
              buy_number: type_data.store_count
            })
            $.dui_hua({
              title: "库存不足",
              content: "购买数量大于库存，已自动修改为最大库存。",
              l_show: false,
            })
            return false;
          }
        } else { // 无库存
          this.setData({
            buy_number: 0
          })
          $.dui_hua({
            title: "库存不足",
            content: "该种类的商品库存不足，请联系商家或换个种类。",
            l_show: false,
          })
          return false;
        }
      } else {
        $.ti_shi("请选择商品的类型");
        return false;
      }
    } else {
      var goods_data = this.data.goods_data;
      if (!goods_data.store_count) {
        $.dui_hua({
          title: "库存不足",
          content: "该商品的库存不足，请联系商家。",
          l_show: false,
        })
        return false;
      }
    }
    var buy_type = this.data.buy_type;
    if (buy_type == 1) {
      // 发起砍价的函数
      this.fqkj_fun();
    } else {
      // 原价购买的函数
      this.yjgm_fun();
    }
  },
  // 发起砍价的函数
  fqkj_fun() {
    // 获取用户数据
    var user_data = this.data.user_data;
    // 获取砍价数据
    var data = this.data.data;
    // 获取商品数据
    var goods_data = this.data.goods_data;
    // 获取购买数量
    var buy_number = this.data.buy_number;

    var form_data = {
      // 砍价活动id
      kanjia_id: data.kanjia_id,
      // 商品id
      goods_id: goods_data.id,
      // 商品价格
      goods_price: data.goods_price,
      // 商品数量
      goods_num: buy_number,
      // 砍后底价
      kanjia_price: data.kanjia_price,
      // 砍价人的头像
      avatar: user_data.avatar,
      // 砍价人的昵称
      nickname: user_data.nickname
    }

    // 获取选中的规格数据
    var type_data = this.data.type_data;
    // 如果有选规格
    if (type_data) {
      form_data.item_id = type_data.item_id;
    } else {
      form_data.item_id = "";
    }
    console.log(form_data);
    $.js_code((js_code) => {
      $.ajax_post({
        url: "/api/kanjia/add_kanjia",
        data: form_data,
        success: (res) => {
          var data = res.data.data;
          if (res.data.code == 1) {
            $.open("/pages/goods/kan_jia/kan_jia?id=" + data.user_kanjia_id + "&kj_type=1");
          } else {
            $.dui_hua({
              content: res.data.msg,
              r_text: "砍价详情",
              r_fun: () => {
                $.open("/pages/goods/kan_jia/kan_jia?id=" + data.id + "&kj_type=2");
              }
            })
          }
          // 关闭弹框
          this.tk_back_fun();
        },
      })
    })
  },
  // 原价购买的函数
  yjgm_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      // 获取数据
      var data = this.data.data;
      var goods_data = data.goods;
      var buy_number = this.data.buy_number;
      var goods_obj = {
        id: "",
        goods_id: goods_data.id,
        goods_num: buy_number,
        goods_name: goods_data.goods_name,
        goods_price: data.goods_price,
        img: goods_data.good_image,
      };
      var type_data = this.data.type_data;
      if (type_data) {
        goods_obj.goods_price = type_data.price;
        goods_obj.item_id = type_data.item_id;
        goods_obj.spec_key = type_data.key;
        goods_obj.spec_key_name = type_data.key_name;
      } else {
        goods_obj.item_id = "";
        goods_obj.spec_key = "";
        goods_obj.spec_key_name = "";
      }
      var goods_arr = [goods_obj];
      // 存储选中的商品
      getApp().data.buy_goods = goods_arr;
      // 跳转到订单
      $.open("/pages/gou_wu_che/ding_dan/ding_dan");
      console.log(goods_arr);
      // 关闭弹框
      this.tk_back_fun();
    } else {
      this.setData({
        login_title: "购买功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 购买砍价成功的商品
  buy_kj_fun() {
    var deng_lu = $.deng_lu();
    if (deng_lu) {
      // 获取数据
      var data = this.data.data;
      var goods_data = data.goods;
      var buy_number = data.goods_num;
      var goods_obj = {
        id: "",
        goods_id: goods_data.id,
        goods_num: buy_number,
        goods_name: goods_data.goods_name,
        goods_price: data.kanjia_price,
        img: goods_data.good_image,
        prom_type: goods_data.prom_type,
        prom_id: goods_data.prom_id,
      };
      var type_data = data.pro_spec;
      if (type_data) {
        goods_obj.goods_price = type_data.commission;
        goods_obj.item_id = type_data.item_id;
        goods_obj.spec_key = type_data.key;
        goods_obj.spec_key_name = type_data.key_name;
      } else {
        goods_obj.item_id = "";
        goods_obj.spec_key = "";
        goods_obj.spec_key_name = "";
      }
      var goods_arr = [goods_obj];
      // 存储选中的商品
      getApp().data.buy_goods = goods_arr;
      // 跳转到订单
      $.open("/pages/gou_wu_che/ding_dan/ding_dan?user_kanjia_id=" + this.data.user_kanjia_id);
      console.log(goods_arr);
    } else {
      this.setData({
        login_title: "购买功能需要授权才能使用，请授权后再试。",
        login_show: true,
      })
    }
  },
  // 查看订单
  look_ding_dan() {
    var data = this.data.data;
    $.open("/pages/my/dingdan_xiangqing/dingdan_xiangqing?id=" + data.order_id);
  },
  // 查看商品详情
  look_goods() {
    var goods_data = this.data.goods_data;
    var goods_id = goods_data.id;
    $.open("/pages/goods/xq_kan_jia/xq_kan_jia?goods_id=" + goods_id);
  },
})